<html>
<head><meta charset="utf-8"><title>confusing download-rustc behavior · general · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/index.html">general</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html">confusing download-rustc behavior</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="234009887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234009887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234009887">(Apr 11 2021 at 03:03)</a>:</h4>
<p>I just ran into something confusing with <code>download-rustc</code>: normal <code>x.py build</code> will build rustdoc and put it in <strong>stage1</strong>. However, <code>x.py build</code> with <code>download-rustc</code> enabled will put it in <strong>stage2</strong>. This means that <code>rustdoc +stage1 ...</code> won't run my local, modified version of rustdoc if <code>download-rustc</code> is set. Specifically, <code>rustdoc +stage1 ...</code> seems to run <em>nightly</em> rustdoc (or something static).</p>
<p>I'm guessing this is because rustdoc built with <code>download-rustc</code> is being built with stage2 rustc, thus it is stage2 rustdoc, whereas rustdoc built locally <em>without</em> <code>download-rustc</code> is usually built with stage1 rustc, thus it is stage1 rustdoc. However, this behavior was very confusing to me and it took me a bunch of experimenting to figure out why my changes weren't showing up in the rustdoc output.</p>
<p>I imagine it could be even more confusing for new contributors since we recommend using stage1 builds, but then when they use <code>download-rustc</code> they have to remember that it's actually a <em>stage2</em> build and adjust their commands accordingly. Plus, it's frustrating even if you know what's going on to switch between stage1 and stage2 depending on whether you're working on rustc or rustdoc (or a different tool).</p>
<p>Is there any way to solve this problem? I imagine there are multiple possible solutions, some better than others.</p>
<p>cc <span class="user-mention" data-user-id="232545">@Joshua Nelson</span></p>



<a name="234009952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234009952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234009952">(Apr 11 2021 at 03:04)</a>:</h4>
<p>I don't think there's a way for download-rustc to build stage1, no - the definition of stage1 is that it's built by the bootstrap compiler, which isn't true here</p>



<a name="234009967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234009967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234009967">(Apr 11 2021 at 03:05)</a>:</h4>
<p>I agree we should document it somehow though</p>



<a name="234010106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010106">(Apr 11 2021 at 03:07)</a>:</h4>
<p>Why does stage1 even exist when I'm using download-rustc?</p>



<a name="234010168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010168">(Apr 11 2021 at 03:08)</a>:</h4>
<p>I would imagine it would give me a "toolchain not installed error".</p>



<a name="234010203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010203">(Apr 11 2021 at 03:08)</a>:</h4>
<p>And I don't think it's from an old build because I used <code>x.py clean</code> first.</p>



<a name="234010240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010240">(Apr 11 2021 at 03:10)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234010106">said</a>:</p>
<blockquote>
<p>Why does stage1 even exist when I'm using download-rustc?</p>
</blockquote>
<p>hmm ok I forgot how I implemented this - stage1 is actually the downloaded toolchain and stage2 is the newly built toolchain</p>



<a name="234010291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010291">(Apr 11 2021 at 03:10)</a>:</h4>
<p>I wonder if I shouldn't copy things to stage1 at all and just return the sysroot of <code>ci-rustc</code> instead</p>



<a name="234010312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010312">(Apr 11 2021 at 03:10)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/bootstrap/compile.rs#L949">https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/bootstrap/compile.rs#L949</a></p>



<a name="234010318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010318">(Apr 11 2021 at 03:11)</a>:</h4>
<p><span class="user-mention" data-user-id="307537">@Camelid</span> I won't have time for that tonight I expect - are you interested in taking a stab at it? :)</p>



<a name="234010419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234010419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234010419">(Apr 11 2021 at 03:13)</a>:</h4>
<p>Hmm, I'll try working on it a bit. If I get stuck, I'll probably just leave it to someone else because I've been signing up for too many tasks <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="234011554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011554">(Apr 11 2021 at 03:34)</a>:</h4>
<p>Another weirdness I noticed: rustdoc with locally-built rustc prints <code>rustdoc 1.53.0-dev</code> as its version, while rustdoc built with CI rustc prints <code>rustdoc 1.53.0-nightly (361bfce30 2021-04-07)</code>. This version doesn't seem correct :)</p>



<a name="234011595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011595">(Apr 11 2021 at 03:34)</a>:</h4>
<p>that seems right to me, all artifacts built by CI are on the nightly channel, not dev</p>



<a name="234011597"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011597" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011597">(Apr 11 2021 at 03:34)</a>:</h4>
<p>"nightlies" distributed by rustup are just the latest CI artifacts built that day</p>



<a name="234011598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011598">(Apr 11 2021 at 03:34)</a>:</h4>
<p>Yes, but this is an artifact built <em>on my machine with modifications</em>.</p>



<a name="234011607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011607">(Apr 11 2021 at 03:35)</a>:</h4>
<p>oh I see what you mean</p>



<a name="234011609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011609">(Apr 11 2021 at 03:35)</a>:</h4>
<p>yeah I'm not sure</p>



<a name="234011622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011622">(Apr 11 2021 at 03:35)</a>:</h4>
<p>Yeah, it seems really bizarre that it's happening.</p>



<a name="234011639"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011639" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011639">(Apr 11 2021 at 03:35)</a>:</h4>
<p>A further weirdness: linking a custom toolchain to stage2 for a worktree that uses <code>download-rustc</code> and hasn't built other artifacts fails:</p>
<div class="codehilite" data-code-language="Bash Session"><pre><span></span><code><span class="gp">$ </span>rustup toolchain link r3stage2 rust3/build/x86_64-apple-darwin/stage2
<span class="go">error: not a directory: 'rust3/build/x86_64-apple-darwin/stage2/lib'</span>
</code></pre></div>



<a name="234011685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011685">(Apr 11 2021 at 03:36)</a>:</h4>
<p>I don't know what you mean by "hasn't built other artifacts"</p>



<a name="234011692"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011692" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011692">(Apr 11 2021 at 03:36)</a>:</h4>
<p>that command works fine for me locally</p>



<a name="234011710"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011710" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011710">(Apr 11 2021 at 03:36)</a>:</h4>
<p>I mean that I've run <code>x.py clean</code> first</p>



<a name="234011715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011715">(Apr 11 2021 at 03:36)</a>:</h4>
<p>And then I ran <code>x.py build</code> with download-rustc enabled.</p>



<a name="234011718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011718">(Apr 11 2021 at 03:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011554">said</a>:</p>
<blockquote>
<p>Another weirdness I noticed: rustdoc with locally-built rustc prints <code>rustdoc 1.53.0-dev</code> as its version, while rustdoc built with CI rustc prints <code>rustdoc 1.53.0-nightly (361bfce30 2021-04-07)</code>. This version doesn't seem correct :)</p>
</blockquote>
<p>ok, this happens because rustdoc uses <code>rustc_driver::version</code></p>



<a name="234011725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011725">(Apr 11 2021 at 03:37)</a>:</h4>
<p>which uses the version rustc was built with, not rustdoc</p>



<a name="234011740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011740">(Apr 11 2021 at 03:37)</a>:</h4>
<p>How hard would that be to fix?</p>



<a name="234011741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011741">(Apr 11 2021 at 03:37)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/librustdoc/config.rs#L312">https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/librustdoc/config.rs#L312</a></p>



<a name="234011745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011745">(Apr 11 2021 at 03:37)</a>:</h4>
<p>no idea</p>



<a name="234011750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011750">(Apr 11 2021 at 03:37)</a>:</h4>
<p>I would prefer to stop copy pasting things from rustc to rustdoc if possible</p>



<a name="234011800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011800">(Apr 11 2021 at 03:38)</a>:</h4>
<p>Maybe we could have some kind of shared crate that rustdoc depends on statically (rather than loading from sysroot)?</p>



<a name="234011806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011806">(Apr 11 2021 at 03:38)</a>:</h4>
<p>that seems complicated <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>



<a name="234011807"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011807" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011807">(Apr 11 2021 at 03:38)</a>:</h4>
<p>It's not a huge deal, but it was very confusing for me when I was debugging the stage1/stage2 issue.</p>



<a name="234011809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011809">(Apr 11 2021 at 03:38)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011806">said</a>:</p>
<blockquote>
<p>that seems complicated <span aria-label="sweat smile" class="emoji emoji-1f605" role="img" title="sweat smile">:sweat_smile:</span></p>
</blockquote>
<p>Why?</p>



<a name="234011836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011836">(Apr 11 2021 at 03:39)</a>:</h4>
<p>well for one thing we'd end up with two copies of it linked in</p>



<a name="234011837"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011837" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011837">(Apr 11 2021 at 03:39)</a>:</h4>
<p>one dynamically through rustc_driver, one statically</p>



<a name="234011838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011838">(Apr 11 2021 at 03:39)</a>:</h4>
<p>Oh</p>



<a name="234011880"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011880" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011880">(Apr 11 2021 at 03:40)</a>:</h4>
<p>Why <em>does</em> rustdoc load from the sysroot?</p>



<a name="234011884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011884">(Apr 11 2021 at 03:40)</a>:</h4>
<p>like, that's ok, that's how tracing works currently, but that's also not ideal</p>



<a name="234011906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011906">(Apr 11 2021 at 03:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011639">said</a>:</p>
<blockquote>
<p>A further weirdness: linking a custom toolchain to stage2 for a worktree that uses <code>download-rustc</code> and hasn't built other artifacts fails:</p>
<p><div class="codehilite" data-code-language="Bash Session"><pre><span></span><code><span class="gp">$ </span>rustup toolchain link r3stage2 rust3/build/x86_64-apple-darwin/stage2
<span class="go">error: not a directory: 'rust3/build/x86_64-apple-darwin/stage2/lib'</span>
</code></pre></div><br>
</p>
</blockquote>
<p>Hmm, maybe the change I made to bootstrap isn't working...</p>



<a name="234011914"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011914" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011914">(Apr 11 2021 at 03:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011884">said</a>:</p>
<blockquote>
<p>like, that's ok, that's how tracing works currently, but that's also not ideal</p>
</blockquote>
<p>because of this <code>debug-logging = false</code> doesn't work for rustdoc, it unconditionally enables logging</p>



<a name="234011918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011918">(Apr 11 2021 at 03:40)</a>:</h4>
<p>are you sure you ran x.py build?</p>



<a name="234011928"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011928" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011928">(Apr 11 2021 at 03:41)</a>:</h4>
<p>Yeah</p>



<a name="234011938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011938">(Apr 11 2021 at 03:41)</a>:</h4>
<p>not sure without looking at it then</p>



<a name="234011943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011943">(Apr 11 2021 at 03:41)</a>:</h4>
<p>The sysroot info from <code>x.py build -v</code> prints <code>file: None</code>, maybe something's wrong there?</p>



<a name="234011948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234011948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234011948">(Apr 11 2021 at 03:41)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011880">said</a>:</p>
<blockquote>
<p>Why <em>does</em> rustdoc load from the sysroot?</p>
</blockquote>
<p><a href="https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/librustdoc/lib.rs#L28-L30">https://github.com/rust-lang/rust/blob/ef38b45e8b5fe9258173376565e718b071c96cd7/src/librustdoc/lib.rs#L28-L30</a></p>



<a name="234012004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012004">(Apr 11 2021 at 03:42)</a>:</h4>
<p>Hmm, I still feel confused.</p>



<a name="234012019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012019">(Apr 11 2021 at 03:43)</a>:</h4>
<p>Does clippy load from sysroot?</p>



<a name="234012021"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012021" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012021">(Apr 11 2021 at 03:43)</a>:</h4>
<p>yes, all tools load from sysroot</p>



<a name="234012030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012030">(Apr 11 2021 at 03:43)</a>:</h4>
<p>otherwise they couldn't use rustc_private, they'd have to be linked statically</p>



<a name="234012091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012091">(Apr 11 2021 at 03:44)</a>:</h4>
<p>I still feel a bit confused but I'll accept it for now. My brain is not ready for more bootstrap knowledge yet <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="234012120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012120">(Apr 11 2021 at 03:45)</a>:</h4>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011906">said</a>:</p>
<blockquote>
<p><span class="user-mention silent" data-user-id="307537">Camelid</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234011639">said</a>:</p>
<blockquote>
<p>A further weirdness: linking a custom toolchain to stage2 for a worktree that uses <code>download-rustc</code> and hasn't built other artifacts fails:</p>
<p><div class="codehilite" data-code-language="Bash Session"><pre><span></span><code><span class="gp">$ </span>rustup toolchain link r3stage2 rust3/build/x86_64-apple-darwin/stage2
<span class="go">error: not a directory: 'rust3/build/x86_64-apple-darwin/stage2/lib'</span>
</code></pre></div><br>
</p>
</blockquote>
<p>Hmm, maybe the change I made to bootstrap isn't working...</p>
</blockquote>
<p>Yeah, the bootstrap change doesn't work. <code>build/x86_64-apple-darwin/stage2/bin/rustdoc</code> exists without the change, but not with it.</p>



<a name="234012131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012131">(Apr 11 2021 at 03:45)</a>:</h4>
<p>what change did you make?</p>



<a name="234012135"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012135" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012135">(Apr 11 2021 at 03:45)</a>:</h4>
<div class="codehilite" data-code-language="Diff"><pre><span></span><code><span class="gh">diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs</span>
<span class="gh">index 8244c7710ab..22111cf350f 100644</span>
<span class="gd">--- a/src/bootstrap/compile.rs</span>
<span class="gi">+++ b/src/bootstrap/compile.rs</span>
<span class="gu">@@ -943,11 +943,9 @@ fn run(self, builder: &amp;Builder&lt;'_&gt;) -&gt; Interned&lt;PathBuf&gt; {</span>
                 builder.config.build, compiler.host,
                 "Cross-compiling is not yet supported with `download-rustc`",
             );
<span class="gd">-            // Copy the compiler into the correct sysroot.</span>
             let ci_rustc_dir =
                 builder.config.out.join(&amp;*builder.config.build.triple).join("ci-rustc");
<span class="gd">-            builder.cp_r(&amp;ci_rustc_dir, &amp;sysroot);</span>
<span class="gd">-            return INTERNER.intern_path(sysroot);</span>
<span class="gi">+            return INTERNER.intern_path(ci_rustc_dir);</span>
         }

         // Symlink the source root into the same location inside the sysroot,
</code></pre></div>



<a name="234012199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012199">(Apr 11 2021 at 03:46)</a>:</h4>
<p>ah right this will also put the build artifacts in ci-rustc instead of stage2</p>



<a name="234012202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012202">(Apr 11 2021 at 03:46)</a>:</h4>
<p>yeah I don't know a good fix</p>



<a name="234012242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012242">(Apr 11 2021 at 03:47)</a>:</h4>
<p>Oh well</p>



<a name="234012250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012250">(Apr 11 2021 at 03:47)</a>:</h4>
<p>Maybe someone else will have ideas</p>



<a name="234012339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012339">(Apr 11 2021 at 03:49)</a>:</h4>
<p>Maybe an alternative would be to only copy rustc and std artifacts?</p>



<a name="234012408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012408">(Apr 11 2021 at 03:50)</a>:</h4>
<p>hmm I think that may break <code>doc --stage 0</code>? but I'd have to think about it more</p>



<a name="234012427"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012427" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012427">(Apr 11 2021 at 03:50)</a>:</h4>
<p>Well, hopefully I've given you food for thought ;)</p>



<a name="234012503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012503">(Apr 11 2021 at 03:52)</a>:</h4>
<p>like I said, I'm probably not going to get to it tonight</p>



<a name="234012509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234012509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234012509">(Apr 11 2021 at 03:52)</a>:</h4>
<p>could you open an issue? or comment on the tracking issue?</p>



<a name="234076528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234076528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234076528">(Apr 11 2021 at 21:09)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234012503">said</a>:</p>
<blockquote>
<p>like I said, I'm probably not going to get to it tonight</p>
</blockquote>
<p>That's okay! I wasn't suggesting that you work on it then—it's not urgent.</p>



<a name="234076531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234076531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234076531">(Apr 11 2021 at 21:09)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232545">Joshua Nelson</span> <a href="#narrow/stream/122651-general/topic/confusing.20download-rustc.20behavior/near/234012509">said</a>:</p>
<blockquote>
<p>could you open an issue? or comment on the tracking issue?</p>
</blockquote>
<p>Sure!</p>



<a name="234076645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/confusing%20download-rustc%20behavior/near/234076645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Noah Lev <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/confusing.20download-rustc.20behavior.html#234076645">(Apr 11 2021 at 21:11)</a>:</h4>
<p>Done: <a href="https://github.com/rust-lang/rust/issues/81930#issuecomment-817373384">https://github.com/rust-lang/rust/issues/81930#issuecomment-817373384</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>